User configurable trailer

ABSTRACT

Methods, systems, and apparatus, including computer programs encoded on computer storage media, coordinate dynamic adjustments of a trailer based in part on a user profile associated with a user physically present at the trailer and an activity profile associated with an activity selected to be performed at the trailer. A dynamic adjustment may modify a tilt of a lower surface of the trailer. A dynamic adjustment may modify a dimension(s) of the trailer based in part on a detected object(s). Various dynamic adjustments may occur concurrently, individually and/or sequentially. The trailer may be a moveable trailer for temporary attachment with a vehicle.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.17/172,069, filed Feb. 9, 2021, which claims the benefit of U.S.Provisional Application 63/052,860, filed Jul. 16, 2020, which is herebyincorporated by reference in its entirety.

This application is related to U.S. Application No. 17/172,071, filedFeb. 9, 2021, which is hereby incorporated by reference in its entirety.

BACKGROUND

Conventional trailers allow for customization in that owners can buildout the trailer's internal cabin to their specifications. Customizedcabins allow for owners to tailor their trailer for their personalinterests, from customized comfort for the travel of long distance,equipment for a portable business to equipment for a personal hobby.Such conventional customization are fixed and the activity within thetrailer is constrained according to the customization already in placeand the decisions of the owner.

SUMMARY

Described herein is an exemplary system and methods of operation for auser configurable trailer. In general, one innovative aspect of thesubject described in this specification can be embodied in systems,computer readable media, and methods that coordinate dynamic adjustmentsof a trailer based in part on a user profile associated with a userphysically present at the trailer and an activity profile associatedwith an activity selected to be performed at the trailer. A dynamicadjustment may be made by the trailer system to modify a tilt of a lowersurface of the trailer or reconfigure or move slidable portions orstructures of the trailer. A dynamic adjustment may modify adimension(s) of the trailer based in part on a detected object(s).Various types of dynamic adjustments may occur concurrently,individually and/or sequentially. The trailer may be a moveable trailerfor temporary attachment with a vehicle.

Various embodiments of the user configurable trailer provide manybenefits and advantages over conventional systems. The user configurabletrailer may temporarily attach to a vehicle in order to be moved tovarying locations. The user configurable trailer may temporarilydetached from a vehicle for placement at a particular location. A usermay be physically present proximate to or inside the user configurabletrailer and may be associated with a user profile. The user may selectan activity to be performed by the user proximate to or inside the userconfigurable trailer. The activity may be associated with an activityprofile. For example, an activity may be golf driving practice and/orbasketball shooting practice. Various embodiments of the userconfigurable trailer may include installed equipment for multipledifferent types of activities such that the installed equipment may beprotracted, retracted, deployed and/or positioned according to thepreferences of a user, the requirements of a selected activity and/orone or more detected conditions and events.

Various embodiments of the user configurable trailer includes systems,modules and processing units for detecting and predicting conditions andevents that trigger dynamic adjustments of the user configurabletrailer's dimensions, surfaces, settings, configurations before, duringand/or after the user performs the selected activity. Such dynamicadjustments may be made in real-time and may be based in part on theuser profile, the activity profile and a current state of the user as tothe performance of the selected activity. For example, a current stateof the user may be that the user is currently performing a physicalmotion required by the selected activity and/or that the user completeda scoring event that is required according to a game rule associatedwith the selected activity. It is understood that the user profile maybe part of a user profile table as described herein. It is understoodthat the activity profile may be part of a trailer configuration tableas described herein.

According to various embodiments, a dynamic adjustment may modify anorientation of an upper surface of the trailer and/or one or moredimensions (internal, external) of the trailer. The user profile mayinclude one or more user attributes representative of physicalcharacteristic, trailer configuration preferences, trailer settingspreferences and/or data from previous sessions of the user. The activityprofile may include one or more activity attributes representative ofactivity rules, activity duration, activity equipment, and/or trailerand safety requirements. In some embodiments, a user may specific one ormore dynamic adjustments by sending an adjustment request from a mobiledevice to a data processing system associated with the trailer.

Various embodiments may include a computer vision system(s) forcapturing images of the user performing the selected activity at thetrailer. Various embodiments may include predictive modeling techniquesto train a machine learning network to predict a probability of adynamic adjustment that may be triggered at the trailer while the userperforms the selected activity at the trailer.

Various embodiments may include mobile software applications forcommunication with a database and information processing systemassociated with the user configurable trailer for the upload andretrieval of information and for scheduling, reserving, performing andcoaching regarding one or more activities. Further areas ofapplicability of the present disclosure will become apparent from thedetailed description, the claims and the drawings. The detaileddescription and specific examples are intended for illustration only andare not intended to limit the scope of the disclosure.

Various embodiments may include a configurable trailer having a trailerbody with the trailer body having a first and second moveable slideout.The trailer body is connected to an axle with the axle having a firstand second wheel connected to the axles. The trailer body may besupported by a metal frame connected to the body. A towing hitch isconnected to the metal frame and/or trailer body. The configurabletrailer has at least two leveling jacks coupled to a bottom portion ofthe trailer body. The first and second moveable slideouts may bepositioned in a trailer transit state where the width of the trailer isless than 9 feet wide. The slideouts may be positioned to an in-usestate where the width of the trailer is at least 11 feet wide. Thetrailer body includes an impact screen affixed to the interior of thetrailer body. The trailer body includes a striking zone on the floor ofthe trailer body at a location at least 10 feet from the impact screen.The striking zone is located on an interior floor of the configurabletrailer. The configurable trailer may have computer visions system withone or more video cameras positioned in the interior trailer body. Forexample, a video camera may be positioned at least 3 feet from thestriking zone to obtain imagery of a person swing a golf club whilestanding within the striking zone.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure will become better understood from the detaileddescription and the drawings, wherein:

FIG. 1 illustrates a block network diagram of an example system utilizedin user configurable trailer.

FIG. 2 illustrates a diagram of an example system utilized in userconfigurable trailer.

FIG. 3 illustrates a block network diagram of an example system utilizedin user configurable trailer.

FIG. 4 is a diagram illustrating an exemplary user interface forenvironment setup and user profile configuration;

FIGS. 5A-5F are each a diagrams illustrating exemplary configurabletrailers.

FIG. 6 is an example of a user profile table and a trailer configurationprofile table in accordance with aspects of the present disclosure.

FIG. 7 is an example of an overview of a process for automatic trailerconfiguration based on a user profile in accordance with aspects of thepresent disclosure.

FIG. 8 is an example of an overview of a process for predicting atrailer configuration state in accordance with aspects of the presentdisclosure.

FIG. 9A is a diagram illustrating dimensionality of a practice spacewithin configurable trailer.

FIG. 9B is a diagram illustrating an exemplary environment of aninterior of the configurable trailer.

FIG. 10A is an example configuration of a portion of a trailerillustrating a double screen showing slideouts in an open position.

FIG. 10B is an example configuration of a portion of a trailerillustrating a double screen showing slideouts in a closed position.

FIG. 11 is an example configuration of a portion of a trailer withslideouts having foam padding.

FIG. 12 is an example configuration with slideout configured with cornerpadding.

FIGS. 13A and 13B is an example configuration of a trailer with ceilingnets.

FIGS. 14A and 14B is an example embodiment of a configurable trailer.

FIG. 15A-15D is an example embodiment of a configuration of a trailer.

FIG. 16 is an example embodiment of a trailer.

FIGS. 17A-17E is an example embodiment of a configurable trailer.

DETAILED DESCRIPTION

In this specification, reference is made in detail to specificembodiments of the invention. Some of the embodiments or their aspectsare illustrated in the drawings.

For clarity in explanation, the invention has been described withreference to specific embodiments, however it should be understood thatthe invention is not limited to the described embodiments. On thecontrary, the invention covers alternatives, modifications, andequivalents as may be included within its scope as defined by any patentclaims. The following embodiments of the invention are set forth withoutany loss of generality to, and without imposing limitations on, theclaimed invention. In the following description, specific details areset forth in order to provide a thorough understanding of the presentinvention. The present invention may be practiced without some or all ofthese specific details. In addition, well known features may not havebeen described in detail to avoid unnecessarily obscuring the invention.

In addition, it should be understood that steps of the exemplary methodsset forth in this exemplary patent can be performed in different ordersthan the order presented in this specification. Furthermore, some stepsof the exemplary methods may be performed in parallel rather than beingperformed sequentially. Also, the steps of the exemplary methods may beperformed in a network environment in which some steps are performed bydifferent computers in the networked environment.

Some embodiments are implemented by a computer system. A computer systemmay include a processor, a memory, and a non-transitorycomputer-readable medium. The memory and non-transitory medium may storeinstructions for performing methods and steps described herein.

FIG. 1 illustrates a block network diagram of an example system utilizedfor one or more user configurable trailers. One or more client systems101-1, 101-2, 102-1, 102-2, 102-3 may communicate with one or moreservers 103 (or a cloud-computing environment) over a network to sendand receive data from a system 134 associated with one or moreconfigurable trailers 130, 130-1, 130-2.

FIG. 2 illustrates a block diagram of an example system 100 fordynamically adjusting one or more user configurable trailers 130, 130-1,130-2. The system 100 may be a distributed system operable in whole orpart by system 103, system 134 located in a configurable trailer and/orthe devices 101-1, 101-2, 102-1, 102-2, 102-3. The system 100 modules104, 106, 108, 110, 112, 114, 116 may distributed in whole or part andmay be performed by the aforementioned systems and devices. The system100 includes a trailer configuration module 104, a computer visionmodule 106, a profile module 108, safety control module 110, apredictive module 112, an API module 114 and a user interface module116. The predictive module 112 trains a machine learning network withthe training data based in part on any portion(s) of trailerconfiguration data 120, user profile data 122, simulation data 124 andadditional system data 126. While the databases 120, 122 124, 126 aredisplayed separately, the databases and information maintained in adatabase 120, 122 124, 126 may be combined together or further separatedin a manner the promotes retrieval and storage efficiency and/or datasecurity.

The trailer configuration module 104 may perform functionality asdescribed herein. According to various embodiments, the trailer 130 mayinclude one or more sensors, one or more computer processing units andone or more motors for dynamically adjusting any surface(s), anyportion(s) and/or any component(s) of the trailer 130. The trailerconfiguration module 104 may activate the one or more motors to performthe dynamic adjustments by powering the one or more motors according toa particular speed for a given time. It is understood that the dynamicadjustments may correspond to a motor speed and motor operation timecalculated by the trailer configuration module 104 in conjunction withthe computer processing units. The motor speed and motor operation timemay be dependent, in part, on one or more attributes stored in the data120, 122, 124, 126 and one or more conditions and/or events detected bysensors.

The computer vision module 106 may perform functionality as describedherein. The computer vision module 106 obtains and processes digitalimagery of a person performing an activity within the trailer 130.

The profile module 108 may perform functionality as described herein.The profile module 108 includes functionality for configuration user andtrailer profiles that are used for dynamic configuration of the trailer130.

The safety control module 110 may perform functionality as describedherein. The safety control module 110 includes functionality for performsafety operations when reconfiguring the trailer 130.

The predictive module 112 may perform functionality as described herein.The predictive module 112 includes functionality for performingpredicted operations for reconfiguring the trailer 130.

The API module 114 may perform functionality based on an applicationinterface associated with the system 100.

The user interface module 116 may perform functionality as illustratedin FIG. 4 .

FIG. 3 illustrates an example machine of a computer system within whicha set of instructions, for causing the machine to perform any one ormore of the methodologies discussed herein, may be executed. Inalternative implementations, the machine may be connected (e.g.,networked) to other machines in a LAN, an intranet, an extranet, and/orthe Internet. The machine may operate in the capacity of a server or aclient machine in client-server network environment, as a peer machinein a peer-to-peer (or distributed) network environment, or as a serveror a client machine in a cloud computing infrastructure or environment.

The machine may be a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, a webappliance, a server, a network router, a switch or bridge, or anymachine capable of executing a set of instructions (sequential orotherwise) that specify actions to be taken by that machine. Further,while a single machine is illustrated, the term “machine” shall also betaken to include any collection of machines that individually or jointlyexecute a set (or multiple sets) of instructions to perform any one ormore of the methodologies discussed herein.

The example computer system 300 includes a processing device 302, a mainmemory 304 (e.g., read-only memory (ROM), flash memory, dynamic randomaccess memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM(RDRAM), etc.), a static memory 306 (e.g., flash memory, static randomaccess memory (SRAM), etc.), and a data storage device 318, whichcommunicate with each other via a bus 330.

Processing device 302 represents one or more general-purpose processingdevices such as a microprocessor, a central processing unit, or thelike. More particularly, the processing device may be complexinstruction set computing (CISC) microprocessor, reduced instruction setcomputing (RISC) microprocessor, very long instruction word (VLIW)microprocessor, or processor implementing other instruction sets, orprocessors implementing a combination of instruction sets. Processingdevice 302 may also be one or more special-purpose processing devicessuch as an application specific integrated circuit (ASIC), a fieldprogrammable gate array (FPGA), a digital signal processor (DSP),network processor, or the like. The processing device 302 is configuredto execute instructions 326 for performing the operations and stepsdiscussed herein.

The computer system 300 may further include a network interface device308 to communicate over the network 320. The computer system 300 alsomay include a video display unit 310 (e.g., a liquid crystal display(LCD) or a cathode ray tube (CRT)), an alphanumeric input device 312(e.g., a keyboard), a cursor control device 314 (e.g., a mouse), agraphics processing unit 322, a signal generation device 316 (e.g., aspeaker), graphics processing unit 322, video processing unit 328, andaudio processing unit 332.

The data storage device 318 may include a machine-readable storagemedium 324 (also known as a computer-readable medium) on which is storedone or more sets of instructions or software 326 embodying any one ormore of the methodologies or functions described herein. Theinstructions 326 may also reside, completely or at least partially,within the main memory 304 and/or within the processing device 302during execution thereof by the computer system 300, the main memory 304and the processing device 302 also constituting machine-readable storagemedia.

In one implementation, the instructions 326 include instructions toimplement functionality corresponding to the components of a device toperform the disclosure herein. While the machine-readable storage medium324 is shown in an example implementation to be a single medium, theterm “machine-readable storage medium” should be taken to include asingle medium or multiple media (e.g., a centralized or distributeddatabase, and/or associated caches and servers) that store the one ormore sets of instructions. The term “machine-readable storage medium”shall also be taken to include any medium that is capable of storing orencoding a set of instructions for execution by the machine and thatcause the machine to perform any one or more of the methodologies of thepresent disclosure. The term “machine-readable storage medium” shallaccordingly be taken to include, but not be limited to, solid-statememories, optical media and magnetic media.

FIG. 4 illustrates an example user interface for user trailerconfiguration. A first and second user interface view 400, 402 may begenerated by the user interface module 116. The first user interfaceview 400 may be based on user account information. A user may access thefirst user interface view 400 to provide user specific data such aswhether the user is right or left-handed, height, experience level andpreferred language. The first user interface view 400 may provide aselectable bookings functionality (“My Bookings”) to view and reserveactivity sessions at the trailer. The second user interface view 402 maybe based on one or more types of sessions that may be reserved and havebeen reserved. The second user interface view 402 may provide aselectable activity functionality (“Activity”) 404 at which the user mayselect what type of activity the user wants to engage in at the trailer.According to a non-limiting example, the activity functionality 404 mayprovide an activity menu of various types of golf practice sessions fromwhich the user may select. For example, the user may select a chippingactivity session during which the user performs various golf chippingdrills in the trailer. Each activity listed in the activity menu may beassociated with various types of dynamic adjustments for the trailer aswell as dynamic adjustments based on the user attributes, activityattributes, safety attributes and/or pre-set attributes.

The second user interface view 402 may provide a selectable inclinefunctionality (“practice inclination”) 406 from which the user mayselect a desired dynamic adjustment(s) of the trailer which results in aparticular incline angle for at least a portion of the trailer and/or atleast a surface of the trailer. The second user interface view 402 mayprovide a selectable environment functionality (“Environment setup”) 408at which the user may select desired settings for the trailer, such asdesired settings and/or dynamic adjustments to one or more internalportions of the trailer for the selected activity. According to anon-limiting example, the Environment setup functionality 408 mayprovide an environment menu of various types of trailer configurationsand/or options. Such configurations and/or options may include, but arenot limited to: a desired type or level of lighting, a desiredtemperature internal to the trailer, a desired type of music the userwants to hear during a session of the reserved activity and a gendertype of a voice of a virtual instructor that will be heard during asession of the reserved activity.

According to various embodiments, the user interface views 400, 402 maybe generated by the application engine 142 and presented via the userinterface 144 on the user device 140. The user device 140 may be amobile computer, such as a “smartphone.” User inputs and selections maybe sent from the application engine 142 to the user interface module116. The user interface module 116 may initiate one or more operationsassociated with accessing the data 120, 122, 124 126 and/or identifyingone or more portions of the data 120, 122, 124 126 to be processed bythe modules 104, 106, 108, 110, 112, 114 as described herein.

The user interface module 116 may generate a user interface allowing auser to enter in a time and date and location of where a trailer isneeded. Information input into the user interface of a user device maybe received by the system 100 and may be stored in a central service orstored in collection of inter-connected servers. The information may betransmitted from the service or servers directly to an onboard computersystem 134 of a trailer 130, 130-1, 130-2 via a cellular or wificonnection 135.

The trailers 130, 130-1, 130-2 may be placed at semi-permanentlocations, such as in parking lots, fields, concrete pads and othersuitable locations. The trailer's onboard computer system may receiveschedules and user activity information from a central computerserver(s). As described herein, the information transmitted to thetrailer's onboard computer system may include the user profile, activityprofiles, and other information that allows the trailer to configureitself to a desired state according to the particular user'scharacteristics and/or the intended activity to be performed in thetrailer. The trailer's onboard computer system may receive an indicationthat the particular user is in close proximity to the trailer. Forexample, the user's mobile device may provide location information tothe system 100. When the user is within a threshold distance (e.g., witha 1 mile radius of the trailer), the trailer may reconfigure itself froma resting state to a usable state based on the received information.Similarly, the trailer may reconfigure itself from a resting state to ausable state based on a particular date and time of an intended use.This allows the trailer to configure itself before the user arrives.

According to various embodiments, one or more dynamic adjustments may beapplied to the trailer 130 at the resting state in order to result inthe trailer 130 being configured according to dimensions associated withthe first view 930. The system 100 may receive data related to a userprofile and/or an activity profile. Theses profiles are akin to atemplate which informs the system 100 how the trailer should beconfigured. For example, an activity profile may indicate that the usermay want to practice driving balls with a golf club. Based on theactivity profile, the system 100 would configure the trailer slideoutsand/or other moveable components into positions that are suitable forthe user to perform or practice the activity. In this instance, forexample, the system 100 may extend the slideouts to the maximum extendedwidth so to allow sufficient clearance for a user to fully swing a golfclub.

FIGS. 5A and 5B illustrate an example trailer 500 (also referred to as130 in other figures) for user trailer configuration according to thetrailer configuration module 104. The trailer 500 may be configuredaccording to one or more settings, profiles, activities, events andconditions such that an upper surface 504 (such as a roof) maycompletely cover an internal portion of the trailer 500. In variousembodiments, the trailer 500 may dynamically adjust the upper surface504 so that the upper surface is moved, retracted, tilted and/or lifted.In some embodiments, adjustment of the upper surface 504 results inexposure of at least a portion of the internal portion of the trailer130. The trailer 500 may include a retractable ramp 508 as well.

The trailer 500 may have one or more slideout components 506 that movehorizontally and/or vertically. The trailer 500 may include objectdetection functionality in the computer vision module 106 that maydetect one or more objects external to the trailer 130. Based in part ona proximity of any detected external object, the trailer 500 maydynamically adjust a position of one or more of the slideout components506 in order to increase or decrease a horizontal/vertical dimension ofthe trailer 500 without coming into contact with the detected externalobject. In various embodiments, the dynamic adjustments of the slideoutcomponents 506 may further be performed in real-time according to acurrent state of a user physically present at the trailer 500. Forexample, a first slideout component may be adjusted such that thetrailer 500 moves the first slideout component ten feet from its currentposition while a second slideout component may be adjusted such that thetrailer 500 moves the second slideout component five feet from itscurrent position.

According to various embodiments, a dynamic adjustment of a slideoutposition may be the result of running one or more motors associated witha respective slideout 506 for a period of time and/or at a certain speedthat corresponds, in part, to one or more attributes as describedherein. While a slideout position is being dynamically adjusted suchthat it is being moved from a current orientation to a new orientation,a sensor of the trailer 500 may detect that further movement of theslideout may result in the slideout coming into contact with an externalobject. Based on the detection by the sensor, the trailer configurationmodule 104 may send a message to the one or more motors to haltoperation and to cease dynamically adjusting the position of therespective slideout.

FIGS. 5C and 5D illustrate an example trailer 500 for user trailerconfiguration. The system 100 may adjust the tilt or height of theleveling jacks to provide an incline or decline of the trailer. Thetrailer 500 may dynamically adjust one or more leveling jacks 510-1,510-2, 510-3, 510-4. Dynamic adjustment of the leveling jacks 510-1,510-2, 510-3, 510-4 may result in modifying a tilt of the trailer 130.One or more of the leveling jacks 510-1, 510-2 may be oriented closer toa front end 130-1 of the trailer 130 than other leveling jacks 510-3,510-4. One or more of the leveling jacks 510-3, 510-4 may be orientedcloser to a back end 500-2 of the trailer 130 than other leveling jacks510-1, 510-2. The back end 500-2 of the trailer 500 may include a door512 for entrance into the trailer 500. Dynamic adjustment of theleveling jacks 510-1, 510-2, 510-3, 510-4 may also be based in part on auser profile, an activity profile and/or a current state of a userphysically present at the trailer 500. According to various embodiments,a dynamic adjustment of an incline (or tilt) of the trailer 500 may bethe result of running one or more motors associated with one or moreleveling jacks 510-1, 510-2, 510-3, 510-4 for a period of time and/or ata certain speed that corresponds to one or more attributes as describedherein. For example, if a user attribute represents a desired inclinefor a particular activity, one or more sensors and/or computerprocessing units of the trailer 500 may detect a current tilt of thetrailer 500 and trigger the one or more motors to adjust an orientationof one or more of the leveling jacks 510-1, 510-2, 510-3, 510-4 until asensor(s) of the trailer 500 detects a current tilt substantially equalto the desired incline attribute.

FIGS. 5E-5F illustrate respective configurations states of the trailer500. FIG. 5E illustrates an example resting state in which one or moredynamic adjustments of the trailer result in at least a partialexpansion of one or more portions of the trailer 500. According tovarious embodiments, the resting state may be associated with largertrailer dimensions than the dimensions associated with the transit state(e.g., FIG. 5F) with the slideouts shown in a retracted position.According to various embodiments, the resting state (with slideouts 506shown in an extended position) may be a result of one or more dynamicadjustments of the trailer 500 to shut down (or turn off, power down,set to sleep mode) various portions or equipment (such as interiorsensors) of the trailer 500. However, the resting state may leave thetrailer 500 at a partially active state such that the trailer 500 can bereadily modified according to one or more dynamic adjustments when auser triggers initiation of a reserved activity. The system 100 maydetermine inactivity by obtaining sensor data, such as video imagery,determine inactivity by using motion sensors and/or determine inactivityby using thermal sensors.

FIG. 5F illustrates an example transit state in which one or moredynamic adjustments of the trailer result in a trailer configuration toallow the trailer 500 (also referred to herein as 130) to be towedand/or transported. The system 100 may initiate a reconfiguration of thetrailer into a transit state. For example, the transit state may includeone or more dynamic adjustments that result in the positioning of one ormore wheels 520. Other dynamic adjustments for the transit state mayresult in modifiable trailer dimensions due to moving one or moreportions and/or surfaces of the trailer 500. It is understood that avehicle may be temporarily attached to the trailer 500 and the vehiclemy tow the trailer 500 to a location at which a user has requested (oris expecting) the trailer to be located for a reserved activity. Thesystem 100 may schedule the trailer 500 to reconfigure to the transitstate based on a predetermined date/time, or when the system 100receives a command to reconfigure the trailer to the transit state.Moreover, the trailer may have a sensor to determine if the trailer hasbeen attached to a tow vehicle. The system 100 may in response todetermining the trailer has been attached to a tow vehicle, initiatereconfiguration of the trailer to the transit state.

The system 100 would determine that a person is not active or movingwithin the trailer. After a predetermined period of time, such as twentyminutes, the system 100 would initiate reconfiguration into the restingstate. Additionally, the system 100 may schedule reconfiguration to theresting state at a pre-determined time period, such as 1:00 a.m., afterconfirming that there is no activity within the trailer. Moreover, thesystem 100 may perform a reconfiguration of the trailer into a restingstate based on a received command from the system 100. Moreover, thetrailer may have a sensor to determine if the trailer has been attachedto a tow vehicle. The system 100 may in response to determining thedetachment from a tow vehicle, initiate reconfiguration of the trailerfrom the transit state to the resting state. For example, the trailer500 may be unhitched from the tow vehicle, the system 100 may determinethen it is able to reconfigure the trailer to a resting state, and thenreconfigure the trailer to the resting state.

Adjustable Trailer Components

A configurable trailer 130 may have panels, walls, floors, ceilings,screens, computers and other structures that are moveable anddynamically adjustable to different positions (collectively referred toas moveable components) via the trailer configuration module 104. Suchstructures may include equipment inside the trailer 130 or attached toan external surface of the trailer 130. Such structures may include,according to non-limiting examples, a camera(a), a light(s), aprojector(s), sound recording equipment, medical diagnosis equipment andone or more pre-defined activity portions (such as a golf putting area,a basketball hoop, a baseball batting cage with a batting net androbotic pitcher, a desk, a chair, a microphone, and a scoreboard).

Computer Vision Sub-System

A configurable trailer 130 may include various sensors, such as camera,motion sensors, and lidar in the computer vision module 106. The sensorsmay be disposed internally about the interior of the configurabletrailer 130 to capture information while a user moves about the interiorof the trailer 130. For instance, digital cameras may obtain video of auser as they perform activities within the trailer 130. The capturedvideo data and/or image data may be stored on a database or file systemand may be associated with a user's identification information, such asa user profile. Additionally, the sensors may be disposed about theexterior of the trailer 130 to obtain information surrounding theexterior of the configurable trailer 130, such as detection of one ormore objects external to the trailer 130. The system 100 may obtain thesensor data describing a person within the trailer, such as digitalimagery of the person. The system 100 may evaluate the sensor data todetermine physical characteristics of the person, such as a height valuefor the person. The system 100 may dynamically adjust at least onephysical component of the trailer based on the determined height valueof the person, such as a horizontal slideout or roof portion that ismoveable in a vertical direction.

According to various embodiments, for example, if a user is performing aphysical action for a selected activity, such as a practice golf swingfor a selected golf activity, inside the trailer 130, the one or moresensors may detect the user's physical action in the trailer 130 andcapture one or more images of the user. Such image capture may alsooccur prior to and/or after the physical action. The trailer 130 mayhave access to a database of previous video data and/or image data thatcorrespond to the activity selected by the user. The previous video dataand/or image data may be based in part on previous performances of theselected activity by other users. The trailer 130 may identify a type ofphysical action(s) represented in the previous video data and/or imagedata that correspond to the user's physical action in the trailer 130 inorder to identify a label or category for the user's physical action.Such labels and categories may be pre-defined according to an activityprofile of the selected activity. Upon assigning a label and/or categoryto the captured video and/or image data of the user's physical action,the trailer 130 may utilize the assigned label and/or category indetermining whether to perform one or more dynamic adjustments via thetrailer configuration module 104.

Trailer Leveling Sub-System

The configurable trailer 130 may include a leveling sub-system thatadjusts the level or height of the configurable trailer 130. Theleveling sub-system may be controlled by the system 100. Leveling jacks510-1, 510-2, 510-3, 510-4 may be affixed to multiple locations of theunderside of the trailer. The leveling jacks 510-1, 510-2, 510-3, 510-4may be controlled by the system 100 where each of the jacks 510-1,510-2, 510-3, 510-4 can be independently raised and/or lowered to move aportion of the trailer 130 upward or downward. The configurable trailer130 may have sensors (such as an inclinometer, accelerometer and/orgyroscope) to determine the angle or tilt of the floor (or any othersurface) of the configurable trailer 130.

As shown in FIGS. 5C and 5D, the trailer 130 may move the leveling jacks510-1, 510-2, 510-3, 510-4 horizontally and/or vertically, and may do sosuch that positioning of the leveling jacks 510-1, 510-2, 510-3, 510-4may be accomplished on an individual or concurrent basis per levelingjack. The trailer configuration module 104 may include a gradientdetection module that may detect a gradient of a surface upon which thetrailer 130 is placed. The trailer 130 may dynamically adjust one ormore of the leveling jacks 510-1, 510-2, 510-3, 510-4 in order torealize a leveling of the of the trailer 130. In various embodiments,the dynamic adjustments of the leveling jacks 510-1, 510-2, 510-3, 510-4may further be performed in real-time according to a user profile, anactivity profile and/or current state of a user physically present atthe trailer 130. For example, based on one or more capture images of theuser via the computer vision module 105, the trailer 130 may determinethat the user's orientation as portrayed in a captured image(s) isrepresentative of a person being off balance. Based on such adetermination, the trailer 130 may trigger the trailer configurationmodule 104 to dynamically adjust one or more of the leveling jacks510-1, 510-2, 510-3, 510-4 in order to provide the internal portion ofthe trailer 130 with a compensating tilt in opposition to thedirection(s) at which the user is moving towards in order to assist, inreal-time, the user to avoid losing balance.

Configuration Presets

Configuration presets may be used to dynamic change the physical stateof the configurable trailer 130 based in part on user profiles, activityprofiles, safety profiles, pre-set trailer configuration profiles and/orphysical actions performed at the trailer 130. FIG. 6 illustrates anexample user profile table for user trailer configuration. The system100 may use a user profile to store trailer configuration preferencesand/or trailer configuration states. The system may include one or moreactivity profiles to store activity attributes for use in conjunctionwith the trailer configuration preferences and/or trailer configurationstates to trigger dynamic adjustments of the one or more portions andcomponents of the trailer 130. A trailer configuration preference mayinclude trailer settings that a user may select. The trailerconfiguration preference informs the system 100 as to how the trailermay be configured. For example, the trailer configuration preference mayinclude trailer settings such as light intensity and temperature. Otheruser profile attributes may be based on whether the user is right orleft handed, one or more previous trailer configurations and aconfiguration mode specifying whether the user prefers to have approvalover any automatic dynamic adjustments about to be performed by thetrailer 130.

A user profile table may include one or more user profiles. Each userprofile may include information about the user, such as name, User ID,at least one physical characteristics of the user (height, weight,strength), at least one trailer configuration preference associated withthe user (preferred trailer dimensions, preferred trailer tilt,preferred placement of internal trailer components), at least onetrailer settings preference associated with the user (lighting, sound,user interface organization), a safety preference associated with theuser (deployment of one or more safety measures by the trailer for aselected activity) and previous session data, whereby the previoussession data is based in part on at least one type of activitypreviously performed by the user. According to various embodiments, oneor more dynamic adjustments may be based on one or more user attributesstored as user profile data 122. A non-limiting example of various userattributes includes: user height, user weight, user experience level,user handedness (right or left-handed), user activity equipment (such astype(s) of gold clubs), a slope (or incline) requested by the user, alighting setting(s) requested by the user, a preferred language setting,a preferred music setting, a preferred temperature setting and apreferred virtual instructor voice setting. It is understood that a usermay have different settings and/or preferred attributes for differenttypes of activity. For example, the user may prefer one type of musicgenre for an activity and a different type of music genre for adifferent activity. The user may prefer a particular temperature for anactivity and a different temperature for a different activity.Additional safety attributes and pre-set trailer configurationattributes may be part of the trailer configuration profile table asillustrated in FIG. 6 .

The trailer 130 may allow for a plurality of different types ofactivities to be performed at the trailer 130. A trailer configurationtable may include one or more activity profile. Each activity profilemay correspond to a different type of activity and may have an activityprofile associated with one or more activity attributes. Activityattributes may be based in part on, a rule(s) of the activity (such asgame rules and/or required actions of an activity), a duration of theactivity (such as maximum activity duration and/or activity intervals),an expected user movement for the activity (such as one or more possibletypes of user actions that could occur at a particular stage of theactivity), at least one equipment requirement for the activity (such asrequired trailer equipment and/or equipment to be handled by the userduring the activity), at least one trailer configuration requirement forthe activity (such as one or more trailer components), at least onetrailer settings requirement for the activity and at least one safetyrequirement for the activity. In some embodiments, an activity profilemay have sub-profiles whereby each activity sub-profile includes valuesfor the activity attributes associated with a particular user. Thesystem 100 may use the activity or sub-activity profile to reconfigurethe trailer for the particular activity or sub-activity to be performed.

Automated Trailer Configuration

FIG. 7 illustrates an example method 700 for automatic trailerconfiguration based on a user profile. As discussed previously, a usermay have a user profile that a particular configurable trailer 130 mayuse to dynamically change the physical state of the configurable trailer130. An activity may have an activity profile that the particularconfigurable trailer 130 may use to dynamically change the physicalstate of the configurable trailer 130. The system 100, for example, mayreceive a user profile describing physical characteristics of a user,and/or describing an activity to be performed by the user. Based in parton the user profile, the system 100 may dynamically adjust at least onephysical component of the trailer based on the user profile. The systemmay control the movement of physical component of the trailer, such as aslideout or leveling jack of the trailer.

The trailer 130 may dynamically adjust a tilt of a lower surface of thetrailer 130 based in part on a user profile associated with a userphysically present at the trailer and an activity profile associatedwith an activity selected to be performed at the trailer 130 (Act 710).For example, the trailer 130 may adjust a position of one or more of theleveling jacks 510-1, 510-2, 510-3, 510-4 to create a tilt orientationfor the trailer 130 that is required for a selected activity accordingto the activity's profile. According to various embodiments, the trailer130 may also dynamically adjust the tile of a floor or internal stage orplatform within the trailer 130. Dynamic adjustment of the internalstage/platform may occur concurrently or separately from the adjustmentof the tilt of the trailer 130. According to various embodiments, theuser may initiate one or more dynamic adjustments of the trailer 130from a mobile device or the dynamic adjustments may occur at a definedtime that is adjacent to a reserved window of time during which the userhas scheduled performance of a selected activity.

The trailer 130 may detect an obj ect(s) external to the trailer 130. Acomputer vision module 106 may include one or more cameras on each ofthe slideout components for object detection. The detected object(s) maybe a person, a vehicle, a building, and/or a fixture, for example. Thetrailer 130 dynamically adjusts a dimension(s) of the trailer based inpart on an orientation of the detected external object with respect to acurrent placement of the trailer 130 — as well as the user profile andthe activity profile (Act 720). For example, the trailer 130 may extenda slideout component 506 for a distance that avoids contact with theexternal object. The trailer 130 may further detect that the externalobject is no longer proximate to the trailer 130 and the trailer 130 maythen further adjust the slideout component 506 again to increase adistance at which the slideout component 506 is adjusted. In oneexample, the slideout component is a partially enclosed rectangularstructure that when extended increases the space of the interior of thetrailer. In one example, the slideouts have a floor, ceiling, a forwardand aft wall connected to the floor and ceiling, and exterior wallconnected to the floor, ceiling forward and aft walls. The trailer 130includes motor or drive mechanism to extend or retract the slideouts506.

The trailer 130 dynamically adjusts the orientation of an upper surfaceof the trailer 130 based in part on the user profile and the activityprofile (Act 730). For example, the trailer 130 may adjust a positioningof a roof of the trailer 130 based on the physical actions of the userand/or when a selected activity is scheduled to begin.

The trailer 130 coordinates the respective dynamic adjustments based inpart on a current state of the user physically present at the trailer130 with respect to performance of the selected activity by the user.According to various embodiments, the trailer 130 may perform any of theadjustments described herein concurrently, individually and/orsequentially. That is, for example, two dynamic adjustments may occurconcurrently followed by another group of concurrent adjustments. Thedynamic adjustments may be applied to one or more external surfacesand/or external dimensions of the trailer 130 and/or one or moreinternal components and/or internal dimensions of the trailer 130. Insome embodiments, the user may specify one or more dynamic adjustmentsby sending an adjustment request from a mobile device to a dataprocessing system associated with the trailer. In some embodiments, thetrailer 130 may include user-requested dynamic adjustments to becoordinated with one or more other dynamic adjustments.

Automated Scheduling of Trailer Configuration

Various embodiments allow for a user to schedule a start time for aselected activity via mobile device 140 in communication with the system100. As shown in FIG. 2 , the mobile device 140 includes an applicationengine 142 for communication with the system 100 via the API module 114and displays a user interface 144 for sending requests to the system100. A scheduled start time may be for a virtual coaching session or avirtual practice session for the selected activity. The start time maybe a competitive session of the select activity against the performanceof another user performing at another trailer (i.e. 130-1 or 130-2)—orwho has previously performed at the same trailer 130 or other trailers(130-1 or 130-2). The user may schedule performance of the selectactivity according to one or more trailer configurations and/or one ormore requested dynamic adjustments.

Predictive Trailer Configuration

FIG. 8 illustrates an example method 800 for predictive trailerconfiguration state. The predictive module 112 may predict a moment atwhich the user may begin an upswing portion of a golf swing during aselected golf driving practice activity performed at a trailerconfiguration for a temporary golfing range. The user profile associatedwith the user may indicate the user's physical characteristics and thedimensions of the user's golf club. The trailer 130 may adjust aposition of the slideout component 506 just before the predicted momentof the user's upswing and extend the slideout component 506 laterally inorder to increase the internal dimensions inside the trailer 130 toaccommodate for the user's upswing given the user's physicalcharacteristics and the dimensions of the user's golf club. Dynamicadjustment of the upper surface 504 may be triggered in coordinationwith adjusting of the slideout component 506 for the predicted moment inorder to realize an updated positioning of the upper surface 504 thatalso accommodates for the user's upswing.

The computer vision module 130 may capture one or more images of a userperforming a physical action at the trailer 130 (Act 810). Thepredictive module 112 may access (or communicate with) a predictivemodel, such as one or more machine learning networks and/or models (Act820). Such machine learning networks and models may be trained ontraining data based, in part, on user profiles associated with aplurality of users previously present at one or more trailers, wherebythose plurality of users had engaged in performances of different typesof activities at the one or more trailers. The training data may befurther based, in part, on activity profiles associated with therespective different types of activities previously performed by theplurality of users and previous computer vision images captured duringthose previous performances.

The predictive module 112 may utilize input data based in part on aparticular user profile associated with the user physically present atthe trailer 130, the activity profile associated with the activityselected to be performed at the trailer 130, a captured computer visionimage(s) of the user performing the selected activity and any dynamicadjustments already determined for the user physically present at thetrailer. Machine learning techniques may be applied with respect to theinput data and machine learning data based on the training data togenerate one or more predictions as to a probability of an occurrence ofan expected user action(s) and/or an expected dynamic adjustment(s) ofthe trailer 130 (Act 830). For example, upon predicting when the usermay begin the upswing portion of the golf swing, the predictive module112 may predict when the trailer 130 should initiate dynamic adjustmentof the slideout component(s) 506 and the upper surface 504.

According to various embodiments, the predictive module 112 may identifyone or more dynamic adjustments for a configuration of the trailer 130that has resulted in improvement of the performance of various physicalactions by other users during previous sessions of the same selectedactivity. For example, the predictive module 112 may identify aparticular trailer configuration for a simulated golf range that hasresulted in a detected increase in velocity of the other user's golfdrives over a certain range of time, over a certain number of previousactivity sessions and/or over a certain number of golf club swings. Thetrailer 130 may update the activity profile for golf range practice toinclude the particular trailer configuration as a pre-set configurationand/or as a secondary pre-set configuration to be suggested to a userfor approval by the user. It is understood that the detected increase invelocity may be based on a virtual representation of a golf ball'sbehavior resulting from the angle, force and power detected by thetrailer 130 of a user's physical golf swing using an actual golf club.

Trailer Dimensions and Interior Components

FIG. 9A shows an exemplary dimensional size 900 of a practice area thetrailer 130 associated with an activity, such as a type of golf practicesession that required sensor equipment. As shown in FIG. 9A, one or moredimensions of the trailer 130 that will be the result of one or moredynamic adjustments of the trailer 130. In the example, the practicearea is as least 14 ft wide 932, at least 10 ft deep 936, and at least 9ft tall 534. For example, the dimensions of configurable trailer for agolf simulator may be 13-16 ft wide×20 ft in length and just over 9.8 ftin height.

FIG. 9B shows an example interior view 940 of an internal portion(s) ofthe trailer 130 that may include a video screen projector 920, a videoscreen 922 (e.g., used as an impact screen for hitting golf ballsagainst), lighting equipment(s) 924, 926, a user control(s) 928 and turf932. The trailer 130 may also include a window(s) 930 and a door 934.According to various embodiments, the video screen projector 920 mayproject digital imagery on the screen 922 associated with a virtual gamebased on a type of golf activity. As described herein, the positioning(or orientation) of the video screen projector 920, the video screen922, the lighting equipment(s) 924, 926 and the user control(s) 928 maybe individually, dynamically adjusted according to one or more userattributes, one or more activity attributes, one or more safetyattributes and/or one or more pre-set attributes. For example, suchdynamic adjustments may be based on one or more of a user's height andwhether the user is right-handed or left-handed. It is understood thatdifferent respective attributes may be used for adjustment of eachcomponent 920, 922, 924, 926, 928. According to various embodiments, adynamic adjustment of any component 920, 922, 924, 926, 928 may be theresult of running one or more motors associated with one or more of thecomponents 920, 922, 924, 926, 928 for a period of time and/or at acertain speed that corresponds to one or more attributes as described byFIG. 6 . For example, if a user attribute represents that a user has aspecific height, the trailer 130 may adjust a current position of thevideo screen projector 920 via the trailer configuration module 104 suchthat the distance between the turf 932 and the video screen projector920 is greater than the user's height. One or more sensors and/orcomputer processing units of the trailer 130 may detect the currentdistance between the projector 920 and the turf 932 and trigger one ormore motors to adjust a current orientation of the projector 920 untilthe sensors detect that the projector reaches an orientation thatresults in distance away from the turf 932 greater than the user'sheight.

The configurable trailer 130 may be configured for golf practicing andsimulation. The configurable trailer is particularly suited and may beadapted for allowing a person to fully swing and practice with a varietyof golf club, such woods, irons, wedges, putters, etc. While the presentdisclosure contemplates that the configurable trailer 130 may beconfigured automatically, the configurable trailer 130 may also beconfigured in a partially manually mode. For example, the slideouts,leveling jacks and other moveable components may be operated or adjustedvia manual or computer operated controls to adjust the size and slope ofthe trailer.

A configurable trailer 130 utilized for golf simulation may have atleast two wheels and may be towed by another vehicle. In a transit state(while being towed by another vehicle), the configurable trailer 130 hasa length less than 40 feet long, 8 feet 6 inches wide, and 13 feet and 6inches tall. In a use state, the configurable trailer 130 may beconfigured to create an open interior space of at least 11 feet wide, 15feet long, and 9 feet tall from the interior floor to the interiorceiling of the trailer. In the use state, the configurable trailer 130may be adjusted to alter a slope of the trailer from its natural restingslope by adjusting the leveling jacks. The slope of the trailer may beadjusted by moving the leveling jacks vertically. The system may, usinga leveling sensor to measuring the angle of the trailer floor to ahorizontal ground plane. The system may adjust the leveling jacks to setthe trailer floor to a desire angle (or degree offset from the groundplane) to a desired inclination or declination.

In one embodiment, the interior of the trailer configured for thepractice of golf. The configurable trailer 130 may have an impact screenfor absorbing the force of a traveling ball. The impact screen may beaffixed to a front interior end of the trailer. The impact screen forexample, may be secured to the interior walls, floor and/or ceiling. Theimpact screen allows a person hitting balls while practicing in theconfigurable trailer 130. The trailer floor may include a putting greenor area made of an artificial turf where a person may practice putting.The putting green may include one or more holes placed about the puttinggreen.

The configurable trailer 130 may have a ball striking zone (e.g., aspecified area set at a sufficient distance from the impact screen)where a person may practice hitting balls. The ball striking zone is anarea suitable for allowing a person to fully take a golf swing. Forexample, the ball striking zone may be at least 9 square feet wide inarea. One edge of the striking zone may be located at least 3 feet fromone end of the trailer and the opposite end of the striking zone may belocated at least 10 from the impact screen. The striking zone may be inthe form of a raised surface from the trailer floor. For example, thestriking zone may be an adjustable or non-adjustable practice be affixedto the floor of the configurable trailer 130. One or more sensors, suchas a digital or video camera, may be positioned at least 3 feet from thecenter of the striking zone to capture the golf swing of a personpracticing hitting balls. The sensors may be actuated automatically whenmotion is detected about the striking zone and capture image data whilethe person is practicing.

The configurable trailer 130 may include sensors to evaluate and capturethe speed, and or trajectories of a ball hit from the striking zone intothe impact screen. For example, the sensor may determine the speed ofthe ball hit, and the likely trajectory and angle of a golf ball hitfrom the striking zone. The ball movement data (e.g., speed, spin,angle, and other movement attributes) may be captured and stored by thecomputer system. The sensors may be placed internally about theconfigurable trailer. For example, a camera may be located at least 3feet from the striking zone and be positioned at least 3 feet from othercameras. In one embodiment, three video camera are positioned around thestriking zone in about at 120 degree increments. This allows the systemto capture a 360 degree view of the person hitting a golf ball.

The configurable trailer 130 may include a projection system with aprojector that projects imagery of different areas of a golf course ontothe impact screen. For example, a tee box, fair way, putting green,water hazards, trees, sand traps, etc. may be displayed onto the impactscreen. The system will graphically simulate a ball physically struckfrom the striking zone continuing into the imagery of the depicted golfcourse. The system uses the ball movement data to simulate the ballmoving about the golf course. Additionally, information about the ballmovement data may be displayed on the impact screen or via another userinterface such a monitoring device. The system may use and considersimulated weather conditions when determining a simulated trajectory ofthe struck golf ball. In one embodiment, the projector produces at least1000 lumens, and can display an image of at least 25 square feet on theimpact screen. Moreover, the projector may also display at ball movementdata on the impact screen.

The configurable trailer 130 may, via an onboard computer, uploadcaptured practice data (such as the captured practice imagery) to aremote server system via an Internet connection. The onboard computermay store and display via a user interface (such as a monitor or theimpact screen) imagery of the user. For example, the user may practicehitting multiple balls from the striking zone. In a review mode, theuser may replay portions of the practice session and watch his or hergolf club swinging form. The system may evaluate the golf club swingform and make recommendation for correction and/or adjustments to thegolf form.

Other aspects of the configurable trailer 130 may include soundproofingmaterial covering at least 3 interior sides of the trailer. For example,material that hat dampens the ball-to-screen impact noise of a balltraveling at 180 mph to less than 150 decibels on the inside and lessthan 120 decibels on the outside of the trailer. The configurabletrailer 130 may have an air conditioner that can alter the temperatureinside the trailer, and one or more light source inside the trailer thatproduce at least 400 lumens.

Collapsible Screen Attached to Slideout

Referring to FIG. 10A, an example configuration of a portion of atrailer illustrating a double screen showing slideouts 1002, 1004 inopen position. Screen 1010 is attached to the walls of the slideout. Thescreen may be made of a fabric, plastic or other materials, in a solidor mesh configuration that provides a barrier for an impact of aphysical item thrown or hit into or against the screen. Another screen,Screen 1000 sits behind Screen 1010 and is attached to the body of thetrailer. Screen 1000 is fixed to the front inside wall of the trailer.Screen 1010 has one end attached a portion of the right slideout, andhas one end attached to a portion of the left slideout. When theslideouts are moved outwardly to an open position, the Screen 1010 ismade taught in an operable position. The screen may then be used toproject imagery onto the screen. The top of screen 1010 may beconfigured where the top of the screen 1010 does not touch the top ofthe ceiling of the trailer. This provides a gap between the top ofscreen 1010 and the ceiling of the trailer. An image then projected asto the gap would fall upon the back screen 1000. A person, for example,practicing golf within the trailer would observe a seamless image as tothe front screen 1010 and the back screen 1000. Also, as balls are hit,especially chip shots, the balls may be hit high toward the top of thefirst Screen 1010. The balls may then go over the screen through the gapand into the space between the front screen 1010 and the back screen1000. The balls then may land into a chamber or other type of ballretrieval system where the balls may be returned to the golfer via achannel or other ball retrieval mechanism built into the floor of thetrailer.

Screen 1010 may be removeably attached to the slideouts with hooks,snaps, a hook and loop fastener (such as Velcro material), or otherfastener mechanism. Screen 1010 while in the attached configurationallows for stretching of the Screen 1010 into an operable position.Using a non-permanent attachment mechanism, allows the Screen 1010 to beremoved for cleaning or replacement.

Referring to FIG. 10B, an example configuration of a portion of atrailer illustrating a double screen 1000, 1010 showing slideouts in aclosed position. When the slideout is maneuvered into a closed position,screen 1010 is pushed in and collapsed. Having the screen sides affixedto the slidedouts makes it easier to quickly set up the trailer in ausable configuration. The screen 1010 may be left affixed to theslideouts.

Foam Padding

Referring to FIG. 12 , an example configuration of a portion of atrailer with slideouts having foam padding 1202 shown. In the exampleshown, when slideouts are extended they may form a natural cornercreating a potential hazard for an individual in the trailer. The cornermay be padded with one inch or thicker foam through the whole length ofthe slideout.

In one configuration, the walls of the slideouts near the screen arereinforced with a foam pad. The foam pad for example, may have a foamthickness of at least one inch thickness. The foam pad may be angledslightly away from the center. The foam padding provides a surface thatabsorbs the impact of a physical item thrown or hit into the foampadding. The angling of the padding may also help guide a ball hit intothe padding into a more central portion of the screen 1200.

Ceiling Nets

Referring to FIGS. 13A, 13B, a configuration with ceiling nets is shown.In one example, one ceiling net is attached to Screen 1000, and oneceiling net is attached to Screen 1010 (as described above). In oneexample, the ceiling nets 1302 cover at least 6 ft of the length of theceiling in front of a position (where an actor such as a golfer stands),and is attached on one end of the ceiling and another end to screen1010. The above configuration allows for the nets to automatically setwhen the trailer slideouts expand and automatically collapse when theslideouts are retrieved.

Example Trailer Embodiments

FIGS. 14A-14B is an example configuration of a trailer 130 with multipleslideouts. In the example trailer configuration, the trailer has a rightand left slideout that moves outwardly from a retracted or storedposition. The ramp of the trailer may be lowered planar to the ground tocreate a deck area to stand upon.

FIGS. 15A-15D is an example configuration of a trailer 130 with multipleslideouts. In the example trailer configuration, the trailer has a rightand left slideout that moves outwardly from a retracted or storedposition. The ramp of the trailer may be lowered planar to the ground tocreate a deck area to stand upon. FIG. 15A shows a rear view of thetrailer with the ramp closed and in a stored position. FIG. 15B shows arear view of the trailer with the slideouts open and with the ramp 1502in a lowered configuration used as a deck, with hand rails and stairsthat may be used to step up to the ramp. FIG. 15D show a front view ofthe trailer with the slideouts open.

FIG. 16 is an example configuration of a trailer 130 showing the ramp ina lowered position with the slideouts open. The slideouts may optionallyhave a door for accessing the trailer through the side. The trailer mayhave a practice mat affixed to the floor of the trailer. The mat 1604may be used by an individual to practice hitting golf balls against ascreen attached to the front interior side of the trailer.

FIG. 17A-17D is an example configuration of a trailer 130 showing atrailer configuration where one side of the trailer has a slideout 1702,and the other side has a ramp 1704 that may be lowered into a planarposition to form a deck area for people to move about. FIG. 17A show afront left perspective view of a trailer. FIG. 17B shows a front view ofthe trailer with the slideout 1702 extended, and the ramp 1704 in alowered position. FIG. 17C shows a right sideview of the trailer withthe ramp 1704 lowered, and a rail placed about the perimeter of the ramp1704.

FIG. 17E is an example configuration of a trailer 130 from a top viewshowing an example configuration of the trailer with the slideout 1702and the wall (e.g., ramp) 1704 portion lowered into position. In theexample configuration, the slideout 1702 is portioned into two sectionswith a first golf mat 1706 and a second golf mat 1708. This allows twoindividuals to practice next to one another.

Some portions of the preceding detailed descriptions have been presentedin terms of algorithms and symbolic representations of operations ondata bits within a computer memory. These algorithmic descriptions andrepresentations are the ways used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of operations leading to adesired result. The operations are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of electrical or magnetic signals capableof being stored, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the above discussion, itis appreciated that throughout the description, discussions utilizingterms such as “identifying” or “determining” or “executing” or“performing” or “collecting” or “creating” or “sending” or the like,refer to the action and processes of a computer system, or similarelectronic computing device, that manipulates and transforms datarepresented as physical (electronic) quantities within the computersystem's registers and memories into other data similarly represented asphysical quantities within the computer system memories or registers orother such information storage devices.

The present disclosure also relates to an apparatus for performing theoperations herein. This apparatus may be specially constructed for theintended purposes, or it may comprise a general purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but not limited to, any type of diskincluding floppy disks, optical disks, CD-ROMs, and magnetic-opticaldisks, read-only memories (ROMs), random access memories (RAMs), EPROMs,EEPROMs, magnetic or optical cards, or any type of media suitable forstoring electronic instructions, each coupled to a computer system bus.

Various general purpose systems may be used with programs in accordancewith the teachings herein, or it may prove convenient to construct amore specialized apparatus to perform the method. The structure for avariety of these systems will appear as set forth in the descriptionabove. In addition, the present disclosure is not described withreference to any particular programming language. It will be appreciatedthat a variety of programming languages may be used to implement theteachings of the disclosure as described herein.

The present disclosure may be provided as a computer program product, orsoftware, that may include a machine-readable medium having storedthereon instructions, which may be used to program a computer system (orother electronic devices) to perform a process according to the presentdisclosure. A machine-readable medium includes any mechanism for storinginformation in a form readable by a machine (e.g., a computer). Forexample, a machine-readable (e.g., computer-readable) medium includes amachine (e.g., a computer) readable storage medium such as a read onlymemory (“ROM”), random access memory (“RAM”), magnetic disk storagemedia, optical storage media, flash memory devices, etc.

In the foregoing disclosure, implementations of the disclosure have beendescribed with reference to specific example implementations thereof. Itwill be evident that various modifications may be made thereto withoutdeparting from the broader spirit and scope of implementations of thedisclosure as set forth in the following claims. The disclosure anddrawings are, accordingly, to be regarded in an illustrative senserather than a restrictive sense.

1-17. (canceled)
 18. A configurable trailer for practicing golf, theconfigurable trailer comprising: a trailer body, the trailer bodycomprising one or more moveable walls, wherein the one or more moveablewalls may be positioned in a transit state where the one or moremoveable walls are set in a first position, and wherein the one or moremoveable walls may be positioned in an in-use state where the one ormore moveable walls are set in a second position; wherein the trailerbody includes a first impact screen affixed to an interior portion thetrailer body, a striking zone where a person may practice hitting ballswith a golf club at the first impact screen while the one or moremoveable walls are in the second position; a projection system forprojecting imagery of areas of a golf course onto the first impactscreen; one or more sensors placed about the trailer body, the one ormore sensors capable of obtaining data about a golf ball that wasphysically struck from the striking zone; and a system for graphicallysimulating the ball that was physically struck from the striking zonebeing shown as continuing into the projected imagery.
 19. Theconfigurable tailer of claim 18, wherein the striking zone comprises aturf portion.
 20. The configurable trailer of claim 18, furthercomprising: a second impact screen affixed to a front interior portionof the interior body of the trailer, wherein a gap is formed from a topside of the first impact screen and a ceiling of the trailer when thetrailer is in the in-use state thereby allowing balls hit above the topside of the first impact screen to impact the second impact screen. 21.The configurable trailer of claim 18, further comprising: a firstsemi-rigid padding attached to a first interior portion of the interiorbody of the trailer, and a second semi-rigid padding attached to asecond interior portion of the interior body of the trailer, whereineach of the first and second semi-rigid padding is shaped such that aball hit into the padding redirects the hit ball into the first impactscreen.
 22. The configurable trailer of claim 18, further comprising:one or more ceiling nets attached to a ceiling of the interior body ofthe trailer.
 23. The configurable trailer of claim 18, furthercomprising: a ball return mechanism having a longitudinal track todirect balls hit at the first impact screen or behind the first impactscreen to return to a location proximate to the striking zone.
 24. Theconfigurable trailer of claim 18, wherein the striking zone for hittingballs is located at a location at least 4 feet from the first impactscreen.
 25. The configurable trailer of claim 18, further comprising: avideo camera affixed to the interior body of the trailer, the camerapositioned at least 1 foot from the striking zone for obtaining imageryof a person swinging a golf club while standing within the strikingzone.
 26. The configurable trailer of claim 18, wherein the imagerycomprises different areas of a golf course.
 27. The configurable trailerof claim 24, wherein the trailer body comprises a floor having a channelbuilt into the floor of the trailer, the channel configured to returnballs that are hit towards the first impact screen and back to thestriking zone.
 28. The configurable trailer of claim 18, furthercomprising one or more nets attached to a portion of the trailer body.29. A method of operating a configurable trailer for practicing golf,the method comprising: providing a trailer comprising: a trailer body,the trailer body comprising one or more moveable walls, wherein the oneor more moveable walls may be positioned in a trailer transit statewhere the one or more moveable walls are set in a first position, andwherein the one or more moveable walls may be positioned to an in-usestate where the one or moveable walls are set in a second position; andwherein the trailer body includes a first impact screen affixed to aninterior portion the trailer body; and wherein the trailer body includesa striking zone on the floor of the trailer body where a person maypractice hitting balls with a golf club at the first impact screen; andprojecting imagery of different areas of a golf course onto the impactscreen; and graphically simulating a ball that was physically struckfrom the striking zone being shown as continuing into the projectedimagery.
 30. The method of claim 29, further comprising: receiving atthe first impact screen, a ball that struck from the striking zone tothe first impact screen.
 31. The method of claim 29, further comprising:dynamically adjusting an orientation of an upper surface of the trailerbased in part on a received user profile.
 32. The method of claim 29,further comprising: dynamically adjusting at least one dimension of thetrailer based in part on an orientation of the at least one detectedobject with respect to a current placement of the trailer, wherein theat least one detected object is external to the trailer.
 33. The methodof claim 29, further comprising: dynamically adjusting a tilt of a lowersurface of the trailer based in part on a user profile.
 34. The methodof claim 29, further comprising: dynamically adjusting the tilt of thelower surface of the trailer further based in part on a gradient of anexternal surface at which the trailer is situated.
 35. The method ofclaim 29, further comprising: returning a ball to a location proximateto the striking zone via a return mechanism having a longitudinal trackto direct balls hit at the first impact screen.